package com.file.system.service.system;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.file.system.entity.res.DataPage;
import com.file.system.entity.system.WebFilterReleasePath;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 放行请求 服务类
 *
 * @author jch
 * @since 2023-07-17
 */
public interface IWebFilterReleasePathService {

    //添加放行请求
    boolean save(WebFilterReleasePath webFilterReleasePath);

    //删除放行请求
    boolean removeById(@Param("id") Long id);

    //通过ids删除放行请求
    boolean removeByIds(List<Long> ids);

    //编辑放行请求
    boolean updateById(@Param("et") WebFilterReleasePath webFilterReleasePath);

    //编辑
    boolean update(@Param("ew") UpdateWrapper<WebFilterReleasePath> query);

    //添加放行请求(批量)
    boolean saveBatch(@Param("list") List<WebFilterReleasePath> webFilterReleasePathList);

    //查询放行请求
    List<WebFilterReleasePath> list(@Param("ew") QueryWrapper<WebFilterReleasePath> query);

    //通过ids查询放行请求集合
    List<WebFilterReleasePath> listByIds(List<Long> ids);

    //查询所有非删除状态放行请求
    List<WebFilterReleasePath> listAll();

    //查询放行请求分页
    DataPage<List<WebFilterReleasePath>> page(@Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize, @Param("ew") QueryWrapper<WebFilterReleasePath> query);

    //通过id查询放行请求
    WebFilterReleasePath getById(@Param("id") Long id);

    //通过条件查询放行请求
    WebFilterReleasePath getOne(@Param("ew") QueryWrapper<WebFilterReleasePath> query);

    //查询放行请求数量
    int count(@Param("ew") QueryWrapper<WebFilterReleasePath> query);


}
